1. Field of the Invention
This invention relates generally to product manufacturing, and, more particularly, to a method and apparatus for the distribution and installation of software to a computer.
2. Description of the Related Art
One step in the process of manufacturing a computer is the installation of software on the computer. After at least the basic hardware components for the computer are assembled, software is loaded onto the computer for processing purposes, testing purposes, end-user software, and other uses The installed software generally matches the hardware assembled for the particular computer. The software may also be pre-ordered software that the manufacturer has agreed to provide to the customer.
A conventional method for installing such software is to build one disk image for a fixed hardware and software configuration and install that image on all assembled computers fitting that configuration. Using the disk image saves manufacturers much time since they do not have to execute an installation program for each software component. The disk image is built by installing the required software on a disk drive of the first computer assembled and then having another piece of software make an identical copy of the entire disk drive. The disk image is then distributed to all newly assembled computers and copied onto the disk drive of the new computer. The newly assembled computer is then identical to the first computer assembled.
In large manufacturing facilities, distribution of the disk image occurs over a network. The newly assembled computer is attached to the network and becomes a client. A server holds one disk image for each hardware/software configuration and sends the appropriate disk image over the network to a client upon a request from the client. This process is automated and allows the installation of software for many machines. If the computers are assembled and placed on the network at the same time, the server can broadcast the disk image to many computers at the same time. The software installation for many computers is then done in parallel by synchronizing the distribution of an entire disk image to the computers.
As computer manufacturers increase the number of options for different hardware and software configurations, the process of software installation becomes more burdensome. A unique disk image is required to be built and stored for each combination of hardware and software choices ordered by the customer. As more clients requiring different disk images are attached to the network, fewer computers can complete the software installation step in parallel, thereby slowing the entire production line.
The present invention is directed to overcoming, or at least reducing the effects of, one or more of the problems set forth above.
In one aspect of the present invention, a method is provided for distributing software components from a server to first and second clients on a network. A first request for software components is sent from the first client to the server. The requested software components are transmitted from the server over the network in response to the first request. A second request for software components is sent from the second client to the server. The first and second clients monitor the network for the first and second requested software components being transmitted on the network. The first and second clients receive the first and second requested software components, respectively. The first client builds a disk image from the received software components. The server determines the software components not yet received by the second client. The server transmits the determined software components. The second client receives the determined software components, and finally, the second client builds a disk image from the received software components.
In another aspect of the instant invention, a method for controlling a server to deliver requested software components to a plurality of network clients is provided. A first request for a first set of software components is received. A second request for a second set of software components is also received. The first and second sets of software components are combined to form an consolidated set of software components. The consolidated set of software components are transmitted over the network.
In yet another aspect of the instant invention, an apparatus is provided for controlling delivery of requested software components to a plurality of clients on a network. A server is adapted to receive a first request and a second request for a first and second set of software components, respectively. The server combines the first and second sets of software components to form a consolidated playlist of software components, and transmits the consolidated playlist of software components over the network.